home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 4
/
Aminet 4 - November 1994.iso
/
aminet
/
util
/
boot
/
appvm.lha
/
AppVM
/
vmread.s
< prev
Wrap
Text File
|
1994-01-28
|
868b
|
53 lines
include std
include exec/vmemory.i
BUFSIZE equ 7495680
START: move.l 4.w,a6
lea dosname,a1
moveq #0,d0
EXEC OpenLibrary ;get DOS
move.l d0,DOS_LIB_PTR
move.l #BUFSIZE,d0
move.l #MEMF_VM,d1
EXEC AllocMem ;get buffer
move.l d0,a4
move.l DOS_LIB_PTR,a6
move.l #fname,d1
move.l #MODE_OLDFILE,d2 ;open file to checksum
DOS Open
move.l d0,fhandle
move.l fhandle,d1
move.l a4,d2
move.l #BUFSIZE,d3 ;read whole file into VM
DOS Read
moveq #0,d0 ;clear accum.
move.l #BUFSIZE/4,d1
move.l a4,a0
;---------------
accum_longs add.l (a0)+,d0 ;add 'em up
subq.l #1,d1
bne accum_longs
;---------------
move.l fhandle,d1 ;close file
DOS Close
move.l 4.w,a6
move.l #BUFSIZE,d0
move.l a4,a1
EXEC FreeMem ;release buffer
rts
DOS_LIB_PTR ds.l 1
fhandle ds.l 1
dosname DOSNAME
fname dc.b "dh0:HUGE",0